package com.Principal;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class SelectMateria extends Activity {
	
	/*************/
	private ListView VistaMateria; 
	private ArrayList<String> materiaView;//arreglo donde se agrgaran las noticias recibidas para verlas en el list view
	private ArrayAdapter<String> adaptador;
	public static List<Materia> materiasRecibidas;
	String [] nombre;
	String [] usuario;
	String [] clave;
	String [] rol;
	String [] nombreMateria;
	String [] codMateria;
    
    /******************/
	
	
	
	
	public static List<Mensaje> noticiasRecibidas; //arreglo donde se encuentran todas las noticias leidas del xml
//	private String diaSeleccionado; //dia seleccionado modificado listo para usar en la comparacion

	
	 public void onCreate(Bundle savedInstanceState){
		  
	    	super.onCreate(savedInstanceState);
	        setContentView(R.layout.select_materia);
	        
	        
	        /*******************************************************************************/
	         materiaView = new ArrayList<String>();

	         //leemos el archivo xml
	         try {
	         	materiasRecibidas=new Conectar().materiasRecibidas;
	         	
	 		} catch (Exception e) {
	 	
	 			e.printStackTrace();
	 		}
	         System.out.println("Información en las listas "+materiasRecibidas.size());
	     	
	         //agregamos las noticias al listview, solo aquellas que conincidan con el dia seleccionado
	         for (int i = 0; i < materiasRecibidas.size(); i++)
	         {
	         	 	String addMateria="(".trim()+materiasRecibidas.get(i).getCodCurso().trim()+") "+materiasRecibidas.get(i).getNombreCurso().trim();
	        	 	materiaView.add(addMateria);	
	         }
	         System.out.println("Información en las list view: "+materiasRecibidas.size());

	         VistaMateria = (ListView) findViewById(R.id.ListView_listado);
	         adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, materiaView);
	         VistaMateria.setAdapter(adaptador);       
	       
	         /*Captura el clic de la listener*/
	         VistaMateria.setOnItemClickListener(new OnItemClickListener() { 
	        	    @Override
	        	    public void onItemClick(AdapterView<?> materia, View view, int posicion, long id) {
	        	    	/**   Almaceno la opción seleccionada**/
	        	        String elegido =  materia.getItemAtPosition(posicion).toString(); 
	        	        System.out.println("La opción seleccionada fue: "+elegido);
	        	        
	        	        /*************************************************************************************/
//	        	      Obtenemos la referencia al fichero XML de entrada.En este caso esta en la carpeta res/raw
	    	        	InputStream is = getResources().openRawResource(R.raw.calendario);
	    	        	 
	    	        	/**
	    	        	 * Se invocará la clase LecturaXML para traer la lista con
	    	        	 * las noticias y se guardaran en el arreglo noticiasRecibidas.
	    	        	 **/
	    
	    	        	 SAXParserFactory factory = SAXParserFactory.newInstance();
	    	        	 
	    	        	try {
	    	        	 SAXParser parser = factory.newSAXParser();
	    	        	 LecturaXML handler = new LecturaXML();
	    	        	 parser.parse(is, handler);
	    	        	 noticiasRecibidas=handler.getNoticias();
	    	        	 
	    	        	 } catch (Exception e) {
	    	        	 throw new RuntimeException(e);
	    	        	 }
	    	        	
	    	        	//arreglo donde se guardaran los dias que hay noticias
	    	        	int tamaño=noticiasRecibidas.size();
	    	        	System.out.println("tamaño"+tamaño);
	    	        	int [] dias=new int[tamaño];
	    	        	int [] meses = new int[tamaño];
	    	        	int [] anios = new int[tamaño];
	    	        	
	    	             for (int i = 0; i < noticiasRecibidas.size(); i++)
	    	            {
	    	              dias[i]=Integer.parseInt(noticiasRecibidas.get(i).getDia().trim());
	    	              meses[i] =Integer.parseInt(noticiasRecibidas.get(i).getMes().trim());
	    	              anios[i]=Integer.parseInt(noticiasRecibidas.get(i).getAnio().trim());
	    
	    	            }
	    	             
	    	             
	    	             new MyCalendarActivity().setDiasMesAnio(dias,meses,anios);
	    	             //----------------------------------------------------------------------
	    	             
	    	             
	    	             
	    	             
	    	             
	    	             
	    	             //---------------------------------------------------------------------
	    	            //Envio al calendario
	    	            Intent intent = new Intent(SelectMateria.this, MyCalendarActivity.class); 
	    	    	    startActivity(intent); 
	        	        
	        	        
	        	        
	        	        
	        	        /*************************************************************************************/
	        	    }
	        	 });
	         
	        
	         
	   /*************************************************************************************************/
	    
}
	
	 
	 public void setMateriaUsuario(String [] u,String [] c, String [] n,String [] r,String [] nc,String [] cm){
		 usuario=u;
		 nombreMateria=nc;
		 clave=c;
		 nombre=n;
		 rol=r;
		 codMateria=cm;
		}
}